<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>改变promise状态和指定回调函数谁先谁后</h1>

    <script>

        //1. 先改变状态，然后在绑定回调

        // // 创建一个Promise对象
        // const p = new Promise((resolve, reject)=>{
        //     // 调用参数的函数来来改变状态
        //     // resolve("ok");
        //     reject("error");
        //     console.log(111);
        // });

        // // 为Promise绑定回调函数then
        // p.then(value =>{
        //     console.log('成功', value);
        // }, reason => {
        //     console.log('失败', reason);
        // });
        // console.log(222);

        // 2. 先绑定回调，再改变状态
        const p = new Promise((resolve, reject)=>{
            // 调用参数的函数来来改变状态
            setTimeout(function(){
                resolve("ok");
                // reject("error");
                console.log(111);
            },2000);
            
        });

        // 为Promise绑定回调函数then
        p.then(value =>{
            console.log('成功', value);
        }, reason => {
            console.log('失败', reason);
        });
        console.log(222);
    </script>
</body>
</html>